package com.haogu.service.impl;

import com.haogu.entity.Product;
import com.haogu.entity.ProductList;
import com.haogu.mapper.ProductMapper;
import com.haogu.service.ProductService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 产品service接口实现类
 */
@Service
public class ProductServiceImpl implements ProductService {
    @Resource
    private ProductMapper productMapper;
    /**
     * 查询所有产品信息
     * @return
     */
    @Override
    public List<ProductList> selectProducts(Integer page, Integer rows) {
        return productMapper.selectProducts((page - 1) * rows, rows);
    }

    /**
     * 查询产品总数
     * @return
     */
    @Override
    public int rows() {
        return productMapper.selectCount(null);
    }

    /**
     * 根据产品名称和零售价格进行模糊查询
     * @param page
     * @param rows
     * @param name
     * @param suggestedprice
     * @return
     */
    @Override
    public List<ProductList> selectProductsLike(Integer page, Integer rows, String name, String suggestedprice) {
        return productMapper.selectProductsLike((page - 1) * rows, rows, name, suggestedprice);
    }

    /**
     * 逻辑删除
     * @param id
     * @return
     */
    @Override
    public int del(Integer id) {
        return productMapper.deleteById(id);
    }

    /**
     * 添加产品
     * @param product
     * @return
     */
    @Override
    public int addProduct(Product product) {
        return productMapper.insert(product);
    }

    /**
     * 查询产品某条信息
     * @param id
     * @return
     */
    @Override
    public Product selectProduct(Integer id) {
        return productMapper.selectByIds(id);
    }

    /**
     * 修改
     * @param Product
     * @return
     */
    @Override
    public int change(Product Product) {
        return productMapper.updateById(Product);
    }
}
